草庐IT

java - 用Java编写的编译器: Peephole optimizer implementation

全部标签

javascript - 为密码匹配指令编写单元测试

我在这里有一个指令,我正在尝试编写一个单元测试-第一次做这种事情。我不知道该怎么做。这是指令代码和HTML:app.directive('passwordMatch',[function(){return{restrict:'A',scope:true,require:'ngModel',link:function(scope,elem,attrs,control){varchecker=function(){vare1=scope.$eval(attrs.ngModel);vare2=scope.$eval(attrs.passwordMatch);if(e2!=null)retur

javascript - angularjs编译ng-controller和插值

关于thedocs看到后面加了一个编译“something”的例子。var$div=$('{{content.label}}');$(document.body).append($div);angular.element(document).injector().invoke(function($compile){varscope=angular.element($div).scope();$compile($div)(scope);});我已经在一个jquery就绪函数上添加了这个代码,但是我有两个问题:首先是一个错误:参数“MyCtrl”不是函数,未定义。第二个是我不知道如何使co

javascript - 我如何像 Java 包一样组织我的 Angular 应用程序文件夹?

如何像Java包一样组织Angular2应用文件夹结构?考虑以下项目布局:app|_model|_component|_service我想将foo.service.ts从service导入到component中的bar.component.ts>。但据我所知,Angular2导入仅支持相对路径,如/../service/,这似乎是非常笨拙的解决方案。有没有一种方法可以从根文件夹引用带有绝对路径的文件夹,就像Java包一样? 最佳答案 更新2016-06-01使用npminstalltypescript@next你已经可以使用这个函数

javascript - 使用 Angular 加载部分页面并编译 Controller

在大型应用程序中,我们的Web应用程序可能会组织成单独的部分页面,以增加我们应用程序的模块化。在某些情况下,使用Angular$http.get或JQuery$.load编译通过XHR或Ajax请求加载的部分页面会引入错误。以我的场景为例,我正在使用KohanaPHP框架,因此我可以在服务器级别控制我的Web应用程序的模块化。像往常一样,所有模板和页面都被分离到View中,将所有HTML、JS和CSS留在表示层上。这将为我在客户端处理上实现JavascriptMVW/MVC堆栈提供极大的灵active,因为我的Web应用程序严重依赖AJAX请求从后端应用程序获取数据。在我的场景中,我使

javascript - 为什么 ES6 代码和 ES5 代码用 Babel.js 编译后结果不一样?

ES6代码:letfoo='outer';functionbar(func=x=>foo){letfoo='inner';console.log(func());}bar();//outer结果是“外部”。Babel.js编译后的ES5代码:'usestrict';varfoo='outer';functionbar(){varfunc=arguments.length结果是“外部”。我不知道为什么他们有不同的结果。 最佳答案 这是一个buginBabel.复杂参数列表中的表达式应该看不到函数体中的声明,但是这里Babel生成的代码

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - 这很丑陋,必须有更好的方法在 jQuery 中编写它

$(this).parent().parent().parent().parent().find('[name=reply_to_id]');这看起来很愚蠢,但这是我能想到的最好的写作方式。我尝试了parentsUntil('li')但根本不起作用,我还尝试了parents('li')和closest('li')。jQuery中有没有等同于:$(this).firstParentThatMatchesThis('li').find('[name=reply_to_id]');如果不是,我认为我会尝试将其提交给jQuery核心...这是我的HTML(很长所以我把它放在了pastebin上

javascript - Yeoman/Grunt 不编译 Compass

有没有人在将compass与yeoman和grunt一起使用时遇到过样式表未在其构建中编译的问题。我是新手,正试图真正了解幕后发生的事情。任何帮助将不胜感激。谢谢!'usestrict';varlrSnippet=require('grunt-contrib-livereload/lib/utils').livereloadSnippet;varmountFolder=function(connect,dir){returnconnect.static(require('path').resolve(dir));};module.exports=function(grunt){//lo

javascript - 如何编写一个将项目附加到 DOM 并延迟下一个 Tick 的函数?

我最近在网上发现了以下问题:WriteafunctionthattakesanobjectandappendsittotheDOM,makingitsothateventsarebuffereduntilthenexttick?Explainwhythisisuseful?这是我的回复:functionappendElement(element){setTimeout(function(){document.body.appendChild(element);},0);}为什么我将间隔设置为零?根据thisarticle,将超时设置为0,将事件延迟到下一个滴答:Theexecution

javascript - 如何在插入 DOM 时重新编译指令(angularjs)

好的,所以我创建了一个指令让我们说它按照我的预期进行渲染,所以一切正常。现在,我的问题是插入DOM时如何(重新)渲染它?我不想一直在我的页面上使用它,我只想动态添加它并在需要时呈现它(它是模块的一部分),比方说,理想情况下我希望它看起来像$("body").append("")如何使用angularjs实现这一点? 最佳答案 你需要在任何你想将指令元素注入(inject)DOM的地方写下两行,不要忘记在你使用的任何地方添加$document&$compile依赖vartemplate='',body=$document.find('